using System;
using System.Collections.Generic;
using System.Windows.Forms;
using System.Drawing;

namespace SpaceEventManager
{
    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            SpaceManager sManager = new SpaceManager();
            EventManager eManager = new EventManager();
            PersonManager pManager = new PersonManager();
            ResourceManager rManager = new ResourceManager();

            #region Hardcoded demonstration code. Get rid of this eventually.
            //
            //
            // Hardcoded stuff for basic demonstration.
            // 
            Space GregSpace1 = new Space("Greg's Space I", "This is just a trial space.", new Point(600, 450), new Dictionary<Space, System.Drawing.Point>());
            Space GregSpace2 = new Space("Greg's Space II", "This is just a trial space. It is an Inner Space of GregSpace1.", new Point(290, 430), new Dictionary<Space, System.Drawing.Point>());
            Space GregSpace3 = new Space("Greg's Space III", "This is just a trial space. It is an Inner Space of GregSpace2.", new Point(285, 205), new Dictionary<Space, System.Drawing.Point>());
            Space GregSpace4 = new Space("Greg's Space IV", "This is just a trial space. It is an Inner Space of GregSpace1, right next to GregSpace2.", new Point(290, 430), new Dictionary<Space, System.Drawing.Point>());

            GregSpace1.AddSpace(GregSpace2, new Point(10, 20));
            GregSpace1.AddSpace(GregSpace4, new Point(310, 20));
            GregSpace2.AddSpace(GregSpace3, new Point(10, 20));

            sManager.AddSpace(GregSpace1);
            sManager.AddSpace(GregSpace2);
            sManager.AddSpace(GregSpace3);
            sManager.AddSpace(GregSpace4);

            #endregion

            DateTime initial = DateTime.Now;

            Application.Run(new MainGUI(sManager, eManager, pManager, rManager, initial));
        }
    }
}